package com.tsyun.view_project.refresh;

import android.os.Bundle;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.scwang.smart.refresh.layout.SmartRefreshLayout;
import com.scwang.smart.refresh.layout.api.RefreshLayout;
import com.scwang.smart.refresh.layout.listener.OnLoadMoreListener;
import com.scwang.smart.refresh.layout.listener.OnRefreshListener;
import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener;
import com.tsyun.view_project.R;
import com.tsyun.view_project.list.bean.DynamicBean;
import com.tsyun.view_project.recycler.adapter.SampleAdapter;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

public class RefreshActivity extends AppCompatActivity {
    private RecyclerView rvData;
    private SampleAdapter sampleAdapter;
    private SmartRefreshLayout refreshLayout;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_refresh);
        initView();
        List<Bean> beans = new ArrayList<>();
        beans.add(new Bean(0));
        beans.add(new Bean(2));
        List<DynamicBean> dynamicBeans = new ArrayList<>();
        for (int i = 0; i < 20; i++) {
            DynamicBean dynamicBean = new DynamicBean();
            dynamicBean.setName("测试"+i);
            dynamicBean.setHeadPic("https://preview.shejiku123.com/thumbnail/10121/1000/1033951.jpg");
            Date date = Calendar.getInstance().getTime();
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            String dStr = format.format(date);
            dynamicBean.setDate(dStr);
            dynamicBean.setContent("速写钢笔画阿王风景建筑速写，纯艺术，速写，阿王速写，原创作品 站酷网，中国设计师互动平台。 站酷 - 。 现代建筑速写是比较难画的一个对象，建议刚开始画的时候可以临摹一些优秀的现代建筑速写图片，以便上手，今天分享一组现代建筑速写高清作品集，喜欢可以收藏临摹哦！ 。 建筑速写 卢国新原创作品_国新手绘_新浪博客，国新手绘， 建筑画 建筑速写 手绘 文化 写生 马克笔写生 艺术赏析 以上网友发言只代表其个人观点，不代表新浪网的观点或立场。 建筑速写入门_简单建筑速写入门图建筑速写与建筑手绘的区别 建筑速写手绘夏克梁建筑钢笔速写_建筑钢笔速写_夏克梁_夏克梁乡村简单建筑速写入门图 。");
            dynamicBeans.add(dynamicBean);
        }
        sampleAdapter = new SampleAdapter(this,dynamicBeans);
        LinearLayoutManager ll = new LinearLayoutManager(this);
        ll.setOrientation(RecyclerView.VERTICAL);
        rvData.setLayoutManager(ll);
        rvData.setAdapter(sampleAdapter);
        refreshLayout.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
            //加载更多数据 操作上拉的时候执行的操作
            @Override
            public void onLoadMore(@NonNull RefreshLayout refreshLayout) {

            }

            //刷新数据 操作下拉的时候执行的方法
            @Override
            public void onRefresh(@NonNull RefreshLayout refreshLayout) {

            }
        });
        //执行下拉时的刷新操作 可以用Lambda表达式表达
        refreshLayout.setOnRefreshListener(new OnRefreshListener() {
            @Override
            public void onRefresh(@NonNull RefreshLayout refreshLayout) {
                refresh();
            }
        });
        refreshLayout.setOnRefreshListener(refreshLayout1 -> {

        });
        //执行上拉时的加载操作
        refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
            @Override
            public void onLoadMore(@NonNull RefreshLayout refreshLayout) {

            }
        });
        //设置加载更多
        refreshLayout.setOnLoadMoreListener(refreshLayout1 -> {

        });
    }

    private void refresh(){
        //网络请求
        //结束刷新操作
        refreshLayout.finishRefresh();
        //结束加载操作
        refreshLayout.finishLoadMore();
        //自动刷新操作 一般在执行完某项操作后，进行数据的刷新  会调用setOnRefreshListener的onRefresh方法
        refreshLayout.autoRefresh();
    }


    private void initView() {
        rvData = findViewById(R.id.rv_sample_data);
        refreshLayout = findViewById(R.id.refresh_layout);
    }
}
